#ifndef OBJMODEL_H
#define OBJMODEL_H

#include <vector>

#ifdef __APPLE__
#include <OpenGL/gl3.h>
#include <GLUT/GLUT.h>
#else
#include <GL/glut.h>
#endif

class ObjModel
{
public:
    std::vector<float> vertex;
    std::vector<float> normal;
    std::vector<unsigned int> faces_idx;
    std::vector<unsigned int> normal_idx;
    std::vector<unsigned int> texture_idx;

    float boundingBox[6];
    float center[3];

protected:
    bool has_texture;
    float radius;
    
public:
    ObjModel(char *filename);

    inline size_t GetNumVertices(void);
    inline float GetRadius(void);
};

inline size_t ObjModel::GetNumVertices()
{
    return vertex.size();
}

inline float ObjModel::GetRadius()
{
    return radius;
}

#endif // OBJMODEL_H
